﻿using System;
using System.Drawing;
using System.Windows.Forms;

namespace sy1_3
{
    public partial class Form1 : Form
    {
        // 移动方向控制（1=向下，-1=向上）
        private int moveDirection = 1;

        public Form1()
        {
            InitializeComponent();
        }

        // 窗体加载时初始化图片和字幕位置
        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                // 加载背景图片（使用绝对路径，需替换为实际图片路径）
                this.BackgroundImage = Image.FromFile(@"E:\C#\sy1-3\17735ad4d869e4eaddb64a86a1ead737.jpg");
                this.BackgroundImageLayout = ImageLayout.Stretch;

                // 加载按钮图片（使用绝对路径，需替换为实际图片路径）
                btnStart.Image = Image.FromFile(@"E:\C#\sy1-3\hand.bmp");
                btnStop.Image = Image.FromFile(@"E:\C#\sy1-3\clock.bmp");

                // 设置按钮图片对齐方式
                btnStart.ImageAlign = ContentAlignment.MiddleLeft;
                btnStop.ImageAlign = ContentAlignment.MiddleLeft;

                // 初始化字幕位置（从窗体顶部外开始）
                lblScrollText.Top = -lblScrollText.Height;
            }
            catch (Exception ex)
            {
                MessageBox.Show("图片加载失败：" + ex.Message + "\n请检查文件路径是否正确");
            }
        }

        // 开始按钮：启动动画
        private void btnStart_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }

        // 停止按钮：暂停动画
        private void btnStop_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
        }

        // 计时器事件：控制字幕上下移动
        private void timer1_Tick(object sender, EventArgs e)
        {
            // 移动字幕（每次移动3像素）
            lblScrollText.Top += moveDirection * 3;

            // 检测边界：超出下边界时从顶部重新进入
            if (lblScrollText.Top > this.ClientSize.Height)
            {
                lblScrollText.Top = -lblScrollText.Height;
            }

            // 检测边界：超出上边界时从底部重新进入（实现双向移动效果）
            if (lblScrollText.Top + lblScrollText.Height < 0)
            {
                lblScrollText.Top = this.ClientSize.Height;
            }
        }

        // 反向按钮：改变移动方向
        private void btnReverse_Click(object sender, EventArgs e)
        {
            moveDirection *= -1; // 切换方向（1变-1，-1变1）
        }
    }
}
